<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Visual Instruction Set</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Visual_Instruction_Set"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Visual_Instruction_Set rootpage-Visual_Instruction_Set skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Visual Instruction Set</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p><b>Visual Instruction Set</b>, or <b>VIS</b>, is a <a href="SIMD" class="mw-redirect" title="SIMD">SIMD</a> instruction set extension for <a href="SPARC" title="SPARC">SPARC V9</a> <a href="Microprocessor" title="Microprocessor">microprocessors</a> developed by <a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a>. There are five versions of VIS: VIS 1, VIS 2, VIS 2+, VIS 3 and VIS 4.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>VIS 1 was introduced in 1994 and was first implemented by Sun in their <a href="UltraSPARC" title="UltraSPARC">UltraSPARC</a> microprocessor (1995) and by Fujitsu in their <a href="SPARC64_GP" class="mw-redirect" title="SPARC64 GP">SPARC64 GP</a> microprocessors (2000).
</p><p>VIS 2 was first implemented by the <a href="UltraSPARC_III" title="UltraSPARC III">UltraSPARC III</a>. All subsequent UltraSPARC and SPARC64 microprocessors implement the instruction set.
</p><p>VIS 3 was first implemented in the <a href="SPARC_T4" title="SPARC T4">SPARC T4</a> microprocessor.
</p><p>VIS 4 was first implemented in the <a href="SPARC_M7" class="mw-redirect" title="SPARC M7">SPARC M7</a> microprocessor.
</p>
<div class="mw-heading mw-heading2"><h2 id="Differences_vs_x86">Differences vs x86</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p>VIS is not an instruction toolkit like <a href="Intel" title="Intel">Intel</a>'s MMX and SSE. MMX has only 8 registers shared with the <a href="Floating-point_unit" title="Floating-point unit">FPU</a> stack, while SPARC processors have 32 registers, also aliased to the double-precision (64-bit) floating point registers.
</p><p>As with the SIMD instruction set extensions on other <a href="RISC" class="mw-redirect" title="RISC">RISC</a> processors, VIS strictly conforms to the main principle of RISC: keep the instruction set concise and efficient.
</p><p>This design is very different from comparable extensions on <a href="Complex_instruction_set_computer" title="Complex instruction set computer">CISC</a> processors, such as <a href="MMX_(instruction_set)" title="MMX (instruction set)">MMX</a>, <a href="Streaming_SIMD_Extensions" title="Streaming SIMD Extensions">SSE</a>, <a href="SSE2" title="SSE2">SSE2</a>, <a href="SSE3" title="SSE3">SSE3</a>, <a href="SSE4" title="SSE4">SSE4</a>, <a href="3DNow!" title="3DNow!">3DNow!</a>.
</p><p>Sometimes, programmers must use several VIS instructions to accomplish an operation that can be done with only one <a href="MMX_(instruction_set)" title="MMX (instruction set)">MMX</a> or <a href="Streaming_SIMD_Extensions" title="Streaming SIMD Extensions">SSE</a> instruction, but it should be kept in mind that fewer instructions do not automatically result in better performance.
</p>
<div class="mw-heading mw-heading2"><h2 id="Functionality">Functionality</h2></div>
<p>VIS re-uses existing SPARC V9 64-bit floating point registers to hold multiple 8, 16, or 32-bit integer values. In this respect, VIS is more similar to the design of <a href="MMX_(instruction_set)" title="MMX (instruction set)">MMX</a> than other SIMD architectures such as <a href="Streaming_SIMD_Extensions" title="Streaming SIMD Extensions">SSE</a>/<a href="SSE2" title="SSE2">SSE2</a>/<a href="AltiVec" title="AltiVec">AltiVec</a>.
</p><p>VIS includes a number of operations primarily for graphics support, so most of them are only for integers. These include 3D to 2D conversion, <a href="Edge_detection" title="Edge detection">edge processing</a> and pixel distance.
</p><p>There are four ways to use VIS in code:
</p>
<ul><li>The <a href="GNU_Compiler_Collection" title="GNU Compiler Collection">GCC</a> -mvis option</li>
<li>Use <a href="Inline_assembly" class="mw-redirect" title="Inline assembly">inline assembly</a></li>
<li>Use inline template in VSDK, similar to compiler intrinsics, which have C function like interfaces</li>
<li>Use the <a href="MediaLib" title="MediaLib">mediaLib</a> multimedia library, which has C function interfaces. It uses VIS on SPARC platforms (and MMX/SSE/SSE2 on x86/x64 platforms) to accelerate multimedia application execution</li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFLiang_HeHarlan_McGhan2005" class="citation web cs1">Liang He; Harlan McGhan (May 2005). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20061230112444/http://www.sun.com/processors/vis/download/mlib/mlib_wp.pdf">"MT mediaLib for Chip MultiThreaded (CMT) Processors"</a> <span class="cs1-format">(PDF)</span>. Sun Microsystems, Inc. Archived from <a rel="nofollow" class="external text" href="http://www.sun.com/processors/vis/download/mlib/mlib_wp.pdf">the original</a> <span class="cs1-format">(PDF)</span> on December 30, 2006<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-12-03</span></span>.</cite></span>
</li>
</ol></div></div>
<ul><li>Gwennap, Linley (5 December 1995). "UltraSparc Adds Multimedia Instructions". <i><a href="Microprocessor_Report" title="Microprocessor Report">Microprocessor Report</a></i>.</li>
<li><a href="Marc_Tremblay" title="Marc Tremblay">Tremblay, Marc</a> et al. (August 1996). "VIS Speeds New Media Processing". <i><a href="IEEE_Micro" title="IEEE Micro">IEEE Micro</a></i>.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://mikeburrell.wordpress.com/2007/12/14/an-introduction-to-sparcs-simd-offerings/">An introduction to SPARC’s SIMD offerings (small tutorial)</a></li>
<li><a rel="nofollow" class="external text" href="http://docs.oracle.com/cd/E19683-01/816-1681/sparcv9-tbl-26/index.html">UltraSPARC and VIS Instruction Set Extensions</a></li>
<li><a rel="nofollow" class="external text" href="https://gcc.gnu.org/onlinedocs/gcc/SPARC-VIS-Built-in-Functions.html">GCC SPARC VIS Built-in Functions</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Instruction_set_extensions509" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Instruction_set_extensions509" style="font-size:114%;margin:0 4em"><a href="Instruction_set_architecture" title="Instruction set architecture">Instruction set</a> <a href="Processor_supplementary_capability" title="Processor supplementary capability">extensions</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Single_instruction%2C_multiple_data" title="Single instruction, multiple data">SIMD</a> (<a href="Reduced_instruction_set_computer" title="Reduced instruction set computer">RISC</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DEC_Alpha" title="DEC Alpha">Alpha</a>
<ul><li><a href="DEC_Alpha#Motion_Video_Instructions_(MVI)" title="DEC Alpha">MVI</a></li></ul></li>
<li><a href="ARM_architecture_family" title="ARM architecture family">ARM</a>
<ul><li><a href="ARM_architecture_family#Advanced_SIMD_(Neon)" title="ARM architecture family">NEON</a></li>
<li><a href="AArch64#Scalable_Vector_Extension_(SVE)" title="AArch64">SVE</a></li></ul></li>
<li><a href="MIPS_architecture" title="MIPS architecture">MIPS</a>
<ul><li><a href="MDMX" title="MDMX">MDMX</a></li>
<li><a href="MIPS-3D" title="MIPS-3D">MIPS-3D</a></li>
<li><a href="Media_Extension_Unit" class="mw-redirect" title="Media Extension Unit">MXU</a></li>
<li><a href="MIPS_architecture#MIPS_SIMD_architecture" title="MIPS architecture">MIPS SIMD</a></li></ul></li>
<li><a href="PA-RISC" title="PA-RISC">PA-RISC</a>
<ul><li><a href="Multimedia_Acceleration_eXtensions" title="Multimedia Acceleration eXtensions">MAX</a></li></ul></li>
<li><a href="Power_ISA" title="Power ISA">Power ISA</a>
<ul><li><a href="AltiVec" title="AltiVec">VMX</a></li></ul></li>
<li><a href="SPARC" title="SPARC">SPARC</a>
<ul></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Single_instruction%2C_multiple_data" title="Single instruction, multiple data">SIMD</a> (<a href="X86" title="X86">x86</a>)</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="MMX_(instruction_set)" title="MMX (instruction set)">MMX</a> (1996)</li>
<li><a href="3DNow!" title="3DNow!">3DNow!</a> (1998)</li>
<li><a href="Streaming_SIMD_Extensions" title="Streaming SIMD Extensions">SSE</a> (1999)</li>
<li><a href="SSE2" title="SSE2">SSE2</a> (2001)</li>
<li><a href="SSE3" title="SSE3">SSE3</a> (2004)</li>
<li><a href="SSSE3" title="SSSE3">SSSE3</a> (2006)</li>
<li><a href="SSE4" title="SSE4">SSE4</a> (2006)</li>
<li><a href="SSE5" title="SSE5">SSE5</a> <s>(2007)</s></li>
<li><a href="Advanced_Vector_Extensions" title="Advanced Vector Extensions">AVX</a> (2008)</li>
<li><a href="F16C" title="F16C">F16C</a> (2009)</li>
<li><a href="XOP_instruction_set" title="XOP instruction set">XOP</a> (2009)</li>
<li><a href="FMA_instruction_set" title="FMA instruction set">FMA</a> (FMA4: 2011, FMA3: 2012)</li>
<li><a href="AVX2" class="mw-redirect" title="AVX2">AVX2</a> (2013)</li>
<li><a href="AVX-512" title="AVX-512">AVX-512</a> (2015)</li>
<li><a href="Advanced_Matrix_Extensions" title="Advanced Matrix Extensions">AMX</a> (2022)</li>
<li><a href="AVX10" class="mw-redirect" title="AVX10">AVX10</a> (2023)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Bit_manipulation" title="Bit manipulation">Bit manipulation</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="X86_Bit_manipulation_instruction_set" title="X86 Bit manipulation instruction set">BMI</a> (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012)</li>
<li><a href="Intel_ADX" title="Intel ADX">ADX</a> (2014)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Instruction_set_architecture#Code_density" title="Instruction set architecture">Compressed instructions</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ARM_architecture_family#Thumb" title="ARM architecture family">Thumb</a></li>
<li><a href="MIPS_architecture" title="MIPS architecture">MIPS16e ASE</a></li>
<li><a href="RISC-V#Compressed_subset" title="RISC-V">RVC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Security and <a href="Cryptographic_accelerator" title="Cryptographic accelerator">cryptography</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="VIA_PadLock" title="VIA PadLock">PadLock</a> (2003)</li>
<li><a href="AES_instruction_set" title="AES instruction set">AES-NI</a> (2008); ARMv8 also has AES instructions</li>
<li><a href="CLMUL_instruction_set" title="CLMUL instruction set">CLMUL</a> (2010)</li>
<li><a href="RDRAND" title="RDRAND">RDRAND</a> (2012)</li>
<li><a href="SHA_instruction_set" title="SHA instruction set">SHA</a> (2013)</li>
<li><a href="Intel_MPX" title="Intel MPX">MPX</a> (2015)</li>
<li><a href="Software_Guard_Extensions" title="Software Guard Extensions">SGX</a> (2015)</li>
<li><a href="Trust_Domain_Extensions" title="Trust Domain Extensions">TDX</a> (2021)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Transactional_memory" title="Transactional memory">Transactional memory</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Transactional_Synchronization_Extensions" title="Transactional Synchronization Extensions">TSX</a> (2013)</li>
<li><a href="Advanced_Synchronization_Facility" title="Advanced Synchronization Facility">ASF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Hardware-assisted_virtualization" class="mw-redirect" title="Hardware-assisted virtualization">Virtualization</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="X86_virtualization#Intel_virtualization_(VT-x)" title="X86 virtualization">VT-x</a> (2005)</li>
<li><a href="X86_virtualization#AMD_virtualization_(AMD-V)" title="X86 virtualization">AMD-V</a> (2006)</li>
<li><a href="X86_virtualization#I/O_MMU_virtualization_(AMD-Vi_and_Intel_VT-d)" title="X86 virtualization">VT-d</a> (AMD-Vi)</li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>Suspended extensions' dates are <s>struck through</s>.</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Sun_Microsystems214" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><div id="Sun_Microsystems214" style="font-size:114%;margin:0 4em"><a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="3"><div><a href="Acquisition_of_Sun_Microsystems_by_Oracle_Corporation" title="Acquisition of Sun Microsystems by Oracle Corporation">Acquired by Oracle</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hardware</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Systems</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Sun-1" title="Sun-1">Sun-1</a></li>
<li><a href="Sun-2" title="Sun-2">Sun-2</a></li>
<li><a href="Sun-3" title="Sun-3">Sun-3</a></li>
<li><a href="Sun386i" title="Sun386i">Sun386i</a></li>
<li><a href="Sun-4" title="Sun-4">Sun-4</a></li>
<li><a href="SPARCstation" title="SPARCstation">SPARCstation</a>–server–center
<ul><li><a href="SPARCstation_1" title="SPARCstation 1">1</a></li>
<li><a href="SPARCstation_2" title="SPARCstation 2">2</a></li>
<li><a href="SPARCstation_4" class="mw-redirect" title="SPARCstation 4">4</a></li>
<li><a href="SPARCstation_5" title="SPARCstation 5">5</a></li>
<li><a href="SPARCstation_10" title="SPARCstation 10">10</a></li>
<li><a href="SPARCstation_20" title="SPARCstation 20">20</a></li>
<li><a href="SPARCclassic" title="SPARCclassic">classic</a></li>
<li><a href="SPARCstation_IPC" title="SPARCstation IPC">IPC</a></li>
<li><a href="SPARCstation_IPX" title="SPARCstation IPX">IPX</a></li>
<li><a href="SPARCstation_LX" title="SPARCstation LX">LX</a></li>
<li><a href="SPARCstation_ZX" title="SPARCstation ZX">ZX</a></li></ul></li>
<li><a href="Sun_Netra" title="Sun Netra">Netra</a></li>
<li><a href="Sun_Ultra" title="Sun Ultra">Ultra</a>
<ul><li><a href="Ultra_1" title="Ultra 1">1</a></li>
<li><a href="Ultra_2" class="mw-redirect" title="Ultra 2">2</a></li>
<li><a href="Ultra_5/10" title="Ultra 5/10">5</a></li>
<li><a href="Ultra_5/10" title="Ultra 5/10">10</a></li>
<li><a href="Ultra_24" title="Ultra 24">24</a></li>
<li><a href="Ultra_30" title="Ultra 30">30</a></li>
<li><a href="Ultra_60" title="Ultra 60">60</a></li>
<li><a href="Ultra_80" title="Ultra 80">80</a></li></ul></li>
<li><a href="Sun_Enterprise" title="Sun Enterprise">Enterprise</a>
<ul><li><a href="Sun_Enterprise_10000" class="mw-redirect" title="Sun Enterprise 10000">10000</a></li></ul></li>
<li><a href="Sun_Blade" title="Sun Blade">Blade server</a></li>
<li><a href="Sun_Blade_(workstation)" title="Sun Blade (workstation)">Blade workstation</a></li>
<li><a href="Sun_Fire" title="Sun Fire">Fire</a>
<ul><li><a href="Sun_Fire_12K" class="mw-redirect" title="Sun Fire 12K">12K</a></li>
<li><a href="Sun_Fire_15K" title="Sun Fire 15K">15K</a></li>
<li><a href="Sun_Fire_E25K" class="mw-redirect" title="Sun Fire E25K">E25K</a></li>
<li><a href="Sun_Fire_T2000" title="Sun Fire T2000">T2000</a></li>
<li><a href="Sun_Fire_X4500" title="Sun Fire X4500">X4500</a></li></ul></li>
<li><a href="SPARC_Enterprise" title="SPARC Enterprise">SPARC Enterprise</a></li>
<li><a href="JavaStation" title="JavaStation">JavaStation</a></li>
<li><a href="Sun_Java_Workstation" title="Sun Java Workstation">Java Workstation</a></li>
<li><a href="Sun_Ray" title="Sun Ray">Ray</a></li>
<li><a href="Cobalt_Qube" title="Cobalt Qube">Cobalt Qube</a></li>
<li><a href="Cobalt_RaQ" title="Cobalt RaQ">Cobalt RaQ</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Processors</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="SPARC" title="SPARC">SPARC</a></li>
<li><a href="MB86900" title="MB86900">MB86900</a></li>
<li><a href="MicroSPARC" title="MicroSPARC">microSPARC</a></li>
<li><a href="SuperSPARC" title="SuperSPARC">SuperSPARC</a></li>
<li><a href="UltraSPARC" title="UltraSPARC">UltraSPARC</a></li>
<li><a href="UltraSPARC_II" title="UltraSPARC II">UltraSPARC II</a>
<ul><li>UltraSPARC IIe</li>
<li>UltraSPARC IIi</li>
<li>Gemini</li></ul></li>
<li><a href="UltraSPARC_III" title="UltraSPARC III">UltraSPARC III</a>
<ul><li>UltraSPARC III Cu</li>
<li>UltraSPARC IIIi</li></ul></li>
<li><a href="UltraSPARC_IV" title="UltraSPARC IV">UltraSPARC IV</a></li>
<li><a href="UltraSPARC_T1" title="UltraSPARC T1">UltraSPARC T1</a></li>
<li><a href="UltraSPARC_T2" title="UltraSPARC T2">UltraSPARC T2</a></li>
<li><a href="SPARC_T3" title="SPARC T3">SPARC T3</a></li>
<li><a href="SPARC_T4" title="SPARC T4">SPARC T4</a></li>
<li><a href="SPARC_T5" title="SPARC T5">SPARC T5</a></li>
<li><a href="Rock_(processor)" title="Rock (processor)">Rock</a></li>
<li><a href="MAJC" title="MAJC">MAJC</a></li></ul>
</div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Sun4d" title="Sun4d">Sun4d</a></li>
<li><a href="SBus" title="SBus">SBus</a></li>
<li><a href="Fireplane" title="Fireplane">Fireplane</a></li>
<li><a href="LOM_port" title="LOM port">LOM port</a></li>
<li><a href="MBus_(SPARC)" title="MBus (SPARC)">MBus</a></li>
<li><a href="Sun_Modular_Datacenter" title="Sun Modular Datacenter">Modular Datacenter</a></li>
<li><a href="Sun_Neptune" title="Sun Neptune">Neptune</a></li>
<li><a href="System_Service_Processor" title="System Service Processor">System Service Processor</a></li>
<li><a href="SPARC_T_series" title="SPARC T series">SPARC T series</a></li>
<li><a href="Sun_SPOT" title="Sun SPOT">SPOT</a></li>
<li><a href="Ultra_Port_Architecture" title="Ultra Port Architecture">Ultra Port Architecture</a></li>
</ul>
</div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="9" style="width:1px;padding:0 0 0 2px"><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="TOPS_(file_server)" title="TOPS (file server)">TOPS</a></li>
<li><a href="SunOS" title="SunOS">SunOS</a></li>
<li><a href="Oracle_Solaris" title="Oracle Solaris">Solaris</a></li>
<li><a href="Network_Information_Service" title="Network Information Service">NIS</a>
<ul><li><a href="NIS%2B" title="NIS+">NIS+</a></li></ul></li>
<li><a href="Network_File_System" title="Network File System">NFS</a></li>
<li><a href="Oracle_ZFS" title="Oracle ZFS">ZFS</a>
<ul><li><a href="ZFS%2B" title="ZFS+">ZFS+</a></li></ul></li>
<li><a href="SunView" title="SunView">SunView</a></li>
<li><a href="NeWS" title="NeWS">NeWS</a></li>
<li><a href="OpenWindows" title="OpenWindows">OpenWindows</a></li>
<li><a href="Java_Desktop_System" title="Java Desktop System">Java Desktop System</a></li>
<li><a href="Oracle_Developer_Studio" title="Oracle Developer Studio">Studio</a></li>
<li><a href="Java_(software_platform)" title="Java (software platform)">Java</a></li>
<li><a href="StarOffice" title="StarOffice">StarOffice</a></li>
<li><a href="IPlanet" title="IPlanet">iPlanet</a></li>
<li><a href="Sun_Java_System" title="Sun Java System">Java System</a></li>
<li><a href="Oracle_Secure_Global_Desktop" title="Oracle Secure Global Desktop">Sun Secure Global Desktop</a></li>
<li><a href="MySQL" title="MySQL">MySQL</a></li>
<li><a href="Sun_xVM" title="Sun xVM">xVM</a></li>
<li><a href="GlassFish" title="GlassFish">GlassFish</a></li>
<li><a href="VirtualBox" title="VirtualBox">VirtualBox</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Storage</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Sun_StorageTek_5800_System" title="Sun StorageTek 5800 System">StorageTek 5800 System</a></li>
<li><a href="StorageTek_SL8500" title="StorageTek SL8500">StorageTek SL8500</a></li>
<li><a href="Sun_Open_Storage" title="Sun Open Storage">Open Storage</a></li>
<li><a href="QFS" title="QFS">QFS</a></li>
<li><a href="Oracle_ZFS" title="Oracle ZFS">ZFS</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Performance</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Sun_Cloud" title="Sun Cloud">Cloud</a></li>
<li><a href="Sun_Constellation_System" title="Sun Constellation System">Constellation System</a></li>
<li><a href="Sun_Visualization_System" title="Sun Visualization System">Visualization System</a></li>
<li><a href="Oracle_Grid_Engine" title="Oracle Grid Engine">Grid Engine</a></li>
<li><a href="Lustre_(file_system)" title="Lustre (file system)">Lustre</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Research</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Oracle_Labs" title="Oracle Labs">Sun Microsystems Laboratories</a></li>
<li><a href="PicoJava" title="PicoJava">picoJava</a></li>
<li><a href="Fortress_(programming_language)" title="Fortress (programming language)">Fortress</a></li>
<li><a href="Project_Looking_Glass" title="Project Looking Glass">Project Looking Glass</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Education</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BlueJ" title="BlueJ">BlueJ</a></li>
<li><a href="Curriki" title="Curriki">Global Education & Learning Community</a></li>
<li><a href="Oracle_Certification_Program" title="Oracle Certification Program">SCPs</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Acquisitions</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Afara_Websystems" title="Afara Websystems">Afara Websystems</a></li>
<li><a href="Cobalt_Networks" title="Cobalt Networks">Cobalt Networks</a></li>
<li><a href="Gridware" class="mw-redirect" title="Gridware">Gridware</a></li>
<li><a href="Lighthouse_Design" title="Lighthouse Design">Lighthouse Design</a></li>
<li><a href="Montalvo_Systems" title="Montalvo Systems">Montalvo Systems</a></li>
<li><a href="MySQL_AB" title="MySQL AB">MySQL AB</a></li>
<li><a href="Pixo" title="Pixo">Pixo</a></li>
<li><a href="Procom_Technology" title="Procom Technology">Procom Technology</a></li>
<li><a href="SavaJe" title="SavaJe">SavaJe</a></li>
<li><a href="StorageTek" title="StorageTek">StorageTek</a></li>
<li><a href="Tarantella%2C_Inc." title="Tarantella, Inc.">Tarantella</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Slogans</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="The_Network_is_the_Computer" title="The Network is the Computer">The Network is the Computer</a></li>
<li><a href="Write_once%2C_run_anywhere" title="Write once, run anywhere">Write once, run anywhere</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Community</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Common_Development_and_Distribution_License" title="Common Development and Distribution License">Common Development and Distribution License</a></li>
<li><a href="Java_Community_Process" title="Java Community Process">Java Community Process</a></li>
<li><a href="NetBeans" title="NetBeans">NetBeans</a></li>
<li><a href="OpenOffice.org" title="OpenOffice.org">OpenOffice.org</a></li>
<li><a href="OpenSolaris" title="OpenSolaris">OpenSolaris</a></li>
<li><a href="OpenSPARC" title="OpenSPARC">OpenSPARC</a></li>
<li><a href="OpenJDK" title="OpenJDK">OpenJDK</a></li>
<li><a href="Open_Source_University_Meetup" title="Open Source University Meetup">Open Source University Meetup</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_Sun_Microsystems_employees" title="List of Sun Microsystems employees">People</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bill_Joy" title="Bill Joy">Bill Joy</a></li>
<li><a href="Andy_Bechtolsheim" title="Andy Bechtolsheim">Andy Bechtolsheim</a></li>
<li><a href="Scott_McNealy" title="Scott McNealy">Scott McNealy</a></li>
<li><a href="Vinod_Khosla" title="Vinod Khosla">Vinod Khosla</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div>Category</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-04-16" href="https://en.wikipedia.org/wiki/?title=Visual_Instruction_Set&oldid=1285967480">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>